A typical digital communications network has a network architecture that is based upon the Open Systems Interconnection (OSI) Reference Model for providing communication between a multiplicity of interconnected digital end systems or “nodes.” The OSI Reference Model divides networking protocols into seven layers, which, in ascending order of abstraction, are: 1) the physical layer, 2) the data-link layer, 3) the network layer, 4) the transport layer, 5) the session layer, 6) the presentation layer, and 7) the application layer.
Local area networks (LANs), i.e., short-distance communications networks, operate at layer 2 in the OSI model. Routers operate at layer 3 in the OSI model and may connect two LANs or other types of networks having different protocols. More specifically, routers at the network layer terminate local data-link layer protocols and utilize network layer addresses and data frame restructuring to communicate with each other.
Internet Protocol (IP) is a typical layer 3 routing protocol. For IP routing, a router receives a packet and determines a next hop, i.e., the next destination for the received packet in the path towards the final packet destination. Typically, each router in the path to the final destination of the packet analyzes the packet header for identifying the packet's destination address and runs a routing algorithm for determining the next hop towards the identified destination address.
Multi-Protocol Label Switching (MPLS) optimizes conventional routing techniques by assigning labels to a Forwarding Equivalent Class (FEC). A FEC is defined as a set of packets that can be handled equivalently for the purpose of forwarding and thus is suitable for binding to a label. Once a binding between a FEC and a label is done, it is not necessary for each label switching router (LSR) in a label-switched path (LSP), i.e., a path through one or more LSRs followed by packets having the same FEC, to analyze a received packet's IP header for determining the packet's destination address. Instead, LSRs make forwarding decisions based on the label attached to the packet, and consequently packets are routed through the network faster.
MPLS is being developed for high-speed networks that, for example, are used by some Internet-service providers (ISPs). MPLS is currently being standardized by the MPLS Working Group of the IETF (Internet Engineering Task Force).
FIG. 1 illustrates an MPLS packet having data-link header 8, MPLS shim header 7, IP header 6 and payload 5. MPLS uses shim header 7 located between the data-link layer header (i.e., data-link header 8) and the network layer header (i.e., IP header 6) for integrating IP routing with label switching. The MPLS architecture encapsulates an IP packet in MPLS shim header 7. MPLS can operate on any layer 2 media (e.g., ATM, FR, PPP), but MPLS currently serves only the IP client network layer. The shim header consists of a series of label stack entries. Each label stack entry contains a 20-bit label field 1, a 3-bit experimental field 2, a single bit field 3 indicating the bottom of the label stack and an 8-bit time-to-live (TTL) field 4.
Similar to conventional routing table entries, each LSR in a MPLS network may include a forwarding table having next hop label forwarding entries (NHLFEs). Each NHLFE, among other information, contains the physical interfaces or ports, the incoming label, and the outgoing label for the next hop for a received packet. A label in a label stack entry of a received packet is used as an index for retrieving a NHLFE containing the next hop for the received packet. Generally, the label from the label stack entry on the top of the label stack is used to index the NHLFEs in the LSR. After identifying the NHLFE for the next hop, the outgoing label for the next hop, which is retrieved from the identified NHLFE, is placed on top of the label stack for the packet, and the packet is transmitted to the next hop. This label switching technique is used by the LSRs for routing MPLS packets through the MPLS network.
FIG. 2 illustrates a reference topology for a typical MPLS network 45. MPLS network 45 includes a set of nodes or LSRs for performing MPLS routing and forwarding. The LSRs in MPLS network 45 include intermediate LSRs and label-edge routers, e.g., LER 1 and LER 2. The set of contiguous nodes that an MPLS packet traverses in the MPLS network is called a Label Switched Path (LSP).
MPLS network 45 includes a bi-directional traffic engineering trunk (BTT) 42 having two traffic engineering trunks with the same endpoints, i.e., LER 1 and LER 2, and opposite directions of transmission. The two traffic trunks that form BTT 42 traverse two unidirectional explicitly-routed label-switched paths (ER-LSPs) between LER 1 and LER 2. An ER-LSP is a LSP defined by a management system or a single LSR that is typically the ingress LSR for that particular direction of transmission, e.g., LER 1 or LER 2. ER-LSPs are set up independently of IP shortest path routing algorithms. BTT 42 is formed of two traffic trunks traversing two ER-LSPs in opposite directions. One traffic trunk flows downstream from ingress LER 1 towards egress LER 2 on one ER-LSP. The other traffic trunk flows upstream from egress LER 2 towards ingress LER 1 on the other ER-LSP. Consequently, BTT 42 traverses a complete round-trip path between LER 1 and LER 2.
It is envisioned that ER-LSPs, which form BTTs, will be set up for carrying possibly hundreds to several thousands of individual IP flows. Hence, it is crucial to ascertain parameters of a BTT, such as connectivity, delay and other quality of service (QoS) parameters that may affect traffic flow in the BTT.
MPLS describes six basic traffic engineering functions that can be performed on a traffic engineering trunk: establish, activate, deactivate, modify attributes, reroute, and destroy. MPLS currently lacks OA&M functions that can provide the ability for ascertaining parameters of a BTT. Hence, a need exists for a set of OA&M functions in MPLS that provide the ability for ascertaining parameters of a BTT.
Hosts use commands, such as Ping and Traceroute, in conjunction with Internet Control Message Protocol (ICMP) for diagnosing routing problems. For example, a router unable to deliver a datagram can send an ICMP message to a host that originated the datagram.
There is a proposed approach for diagnosing routing problems in MPLS networks that relies on layer 3 ICMP messages. This approach, however, can only be implemented if the layer 3 protocol is IP. Furthermore, this approach may be adequate for some OA&M functions (e.g, checking continuity with Ping and Traceroute) from a host to another host or server but will not be adequate for checking continuity and QoS attributes of a TE trunk. The OA&M functions for managing TE Trunks will have to adapt to the coarser flow granularity of the TE trunks in order to achieve scaling when used in large provider networks. Therefore, a need exists for a set of MPLS-layer OA&M functions that provide the ability for ascertaining the parameters of a BTT.